Programming With Recursion
نویسنده
چکیده
Data structures defined as term algebras and programs built from recursive definitions complement each other. Computing in such surroundings guides us into Nriting simple programs Nith a clear semantics and performing a rigorous cost analysis on appropriate data structures. In this paper, we present a programming language so perceived, investigate some basic principles of cost analysis through it, and reflect on the meaning of programs and computing. -;;------~~ Visiting at. the Computer Science Department of Purdue University with the help of a grant of the Stiftung Volksl....agem.... erk. I am grateful for the support of both, ViV-Stiftung and Purdue.
منابع مشابه
Exploiting Logic Program Schemata to Teach Recursive Programming
Recursion is a complex concept that most novice logic programmers have difficulty grasping. Problems associated with recursion are avoided in imperative languages where iteration is provided as an alternative to recursion. Although difficult to learn, recursion is very easy to use once it is understood. In fact, many problems that have straightforward recursive solutions have very sophisticated...
متن کاملVisual Programming with Recursion Patterns in Interaction Nets
In this paper we propose to use Interaction Nets as a formalism for Visual Functional Programming. We consider the use of recursion patterns as a programming idiom, and introduce a suitable archetype/instantiation mechanism for interaction agents, which allows one to define agents whose behaviour is based on recursion patterns.
متن کاملRecursion Schemes for Dynamic Programming
Dynamic programming is an algorithm design technique, which allows to improve efficiency by avoiding re-computation of identical subtasks. We present a new recursion combinator, dynamorphism, which captures the dynamic programming recursion pattern with memoization and identify some simple conditions when functions defined by structured general recursion can be redefined as a dynamorphism. The ...
متن کاملA Progressive Approach to Recursion
We propose a progressive approach to simplify teaching recursion. It is introduced by means of three instances of increasing level of difficulty. First, recursion is introduced in a “pure” form as it is found in formal grammars; its accompanying mechanisms are related to rewriting. Later, a functional programming language allows defining recursive functions and recursive data types; its mechani...
متن کاملAnonymous (co)inductive types: A way for structured recursion to cohabit with modular abstraction
We investigate the interaction between structured recursion combinators and modularization in the style of Standard ML. When built-in structured recursion combinators are straightforwardly added to a language like SML’97 or OCaml, they cannot operate over values of abstractly specified types. Consequently, when a program is modularized in an abstract and fine-grained way, the structured recursi...
متن کاملDeclarative Logic Programming with Primitive Recursive Relations on Lists
In a previous paper we introduced a system of recursion operators for formulating pure logic programs, dispensing with explicit recursions. The recursion operators, some of which are similar to higher-order functions known from functional programming, take the form of quasi-higher order predicates. In this paper we identify a comprehensive class of logic programs called primitive recursive rela...
متن کامل